axios.interceptors.response.use(
  response => {
    // 响应成功（响应状态码 2xx 和 3xx），进这里
    // 这里针对服务器响应的友情提示，比如账号密码错误、用户名已被占用等，统一提示
    let { status, message } = response.data;
    if (status === 1) layer.msg(message);
    return response;
  }, 
  error => {
    // 响应报错（响应状态码 4xx 和 5xx），进这里
    // 比如提交的参数格式有误，服务器会响应400状态码
    // 比如身份认证错误，服务器响应401
    if (error.response) {
      let {data: {status, message}} = error.response;
      // token没问题，其他方面的问题，比如数据格式不对等
      layer.msg(message)
    }
  	return Promise.reject(error);
	}
)

// --------------------- 切换登录和注册的盒子 --------------------
// 点击登录    显示
$('.login a').on('click',function() {
  $('.register').show();
})
// 点击登录   隐藏
$('.register a').on('click',function() {
  $('.register').hide();
})



// ---------------------登录功能 --------------------
$('.login form').on('submit',function(e) {
  e.preventDefault();
  let data = $(this).serialize();

  // 提交数据  用  axios
  // axios.post(url,请求体).then(函数);
  axios.post('http://www.itcbc.com:8080/api/login',data).then(res=>{
    // 解构赋值   获取响应结果  status message  token
    let {status,message,token} = res.data;
    if (status === 0) {
      // 保存token   到   localStorage
      localStorage.setItem('token',token);
      // 等待提示完毕  在跳转页面
      layer.msg(message,{time:1500},()=>{
        // 跳转到index.html
        location.href = './index.html';
      })
    }
  })
})


// --------------------- 注册功能 --------------------
$('.register form').on('submit',function(e) {
  e.preventDefault();
  let data = $(this).serialize();

  // 提交数据  用  axios
  // axios.post(url,请求体).then(函数);
  axios.post('http://www.itcbc.com:8080/api/reguser',data).then(res => {
    let {status,message} = res.data;
    if (status === 0) {
      layer.msg(message);
       // 清空输入框
       $('.register form')[0].reset();
       // 跳转登录框  (隐藏注册框就行)
       $('.register').hide();
    }
  })
})

// --------------------- 表单验证 --------------------
// 自定义验证规则
// 使用layui的内置模块   使用之前 先加载模块
// 加载语法  let XXX = layui.模块名;
let form = layui.form;
form.verify({
  // 键(验证规则):值(怎么验证)
  // xxx : ['正则表达式','验证不通过时的提示']
  can:[/^\S{6,12}$/,'长度6~12位且不能有空格!'],   //注意  正则表达式中 不能有空格
  // same:function (val) {return'验证不通过时 的提示'}
  same:function (val) {
    // 先获取之前输入的密码
    let pwd = $('.pwd').val();
    // 判断
    if (pwd !== val) return'两次输入密码不一致';
    
  }
});